home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / ip / ka9q / osrc.arc / ENET.H < prev    next >
Encoding:
C/C++ Source or Header  |  1989-02-18  |  1.3 KB  |  48 lines

  1. /* Generic Ethernet constants and templates */
  2.  
  3. #ifndef    EADDR_LEN
  4.  
  5. #include "global.h"
  6.  
  7. #define    EADDR_LEN    6
  8. /* Format of an Ethernet header */
  9. struct ether {
  10.     char dest[EADDR_LEN];
  11.     char source[EADDR_LEN];
  12.     int16 type;
  13. };
  14. #define    ETHERLEN    14
  15.  
  16. /* Ethernet broadcast address */
  17. extern char Ether_bdcst[];
  18.  
  19. /* Ethernet type fields */
  20. #define    IP_TYPE        0x800    /* Type field for IP */
  21. #define    ARP_TYPE    0x806    /* Type field for ARP */
  22.  
  23. #define    RUNT        60    /* smallest legal size packet, no fcs */
  24. #define    GIANT        1514    /* largest legal size packet, no fcs */
  25.  
  26. #define    MAXTRIES    16    /* Maximum number of transmission attempts */
  27.  
  28. #if    defined(__STDC__) || defined(__TURBOC__)
  29. struct mbuf *htonether(struct ether *ether,struct mbuf *data);
  30. int ntohether(struct ether *ether,struct mbuf **bpp);
  31. int pether(char *out,char *addr);
  32. int gether(char *out,char *cp);
  33. int gaether(char *out,char *in[],int cnt);
  34. int enet_send(struct mbuf *bp,struct iface *iface,int32 gateway,int prec,
  35.     int del,int tput,int rel);
  36. int enet_output(struct iface *iface,char dest[],char source[],int16 type,
  37.     struct mbuf *data);
  38. void eproc(struct iface *iface,struct mbuf *bp);
  39. #else
  40. void eproc();
  41. struct mbuf *htonether();
  42. int ntohether(),pether(),gether(),gaether(),enet_send(),enet_output();
  43. #endif
  44.  
  45. #endif    /* EADDR_LEN */
  46.  
  47.  
  48.